package com.love.marriage.membershipConfiguration.entity;

import com.baomidou.mybatisplus.annotation.FieldStrategy;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.love.marriage.common.entity.BaseEntity;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Getter;
import lombok.Setter;
import lombok.experimental.Accessors;

import java.math.BigDecimal;

/**
 * description:  会员配置表类
 * author:       mybatisPlus
 * createDate: 2024-10-12 23:29:12
 * version:      1.0.0
 */
@Getter
@Setter
@Accessors(chain = true)
@TableName("membership_configuration_t")
@Schema(description = "会员配置表")
public class MembershipConfiguration extends BaseEntity<MembershipConfiguration>{

    @Schema(description = "会员编码", type = "String", implementation = String.class)
    @TableField("membership")
    private String membership;

    @Schema(description = "会员名称 (如: 月会员、季会员、年会员)", type = "String", implementation = String.class)
    @TableField("membership_name")
    private String membershipName;

    @Schema(description = "当前价格", type = "BigDecimal", implementation = BigDecimal.class)
    @TableField("current_price")
    private BigDecimal currentPrice;

    @Schema(description = "原始价格 (如有折扣，记录折扣前的价格)", type = "BigDecimal", implementation = BigDecimal.class)
    @TableField(value = "original_price", updateStrategy = FieldStrategy.IGNORED)
    private BigDecimal originalPrice;

    @Schema(description = "状态: 0=禁用, 1=启用", type = "Boolean", implementation = Boolean.class)
    @TableField("`status`")
    private Boolean status;

    @Schema(description = "排序号", type = "Integer", implementation = Integer.class)
    @TableField("order_num")
    private Integer orderNum;

}
